#ifndef GLOBALS_HPP
#define GLOBALS_HPP

/**
 * @brief namespace for globals and functions shared across libraries
 * 
 */
namespace hms
{
	constexpr double epsilon { 1e-9 };
	namespace io
	{
		constexpr auto  writePrecision { 12 };
		constexpr auto  coeffSep { " " };
		constexpr auto  matPrefix { '{' };
		constexpr auto  matSuffix { '}' };
	}
	
	constexpr auto   dims    { 2 };
	constexpr auto   xdim    { 0 };
	constexpr auto   ydim    { 1 };
}

/**
 * @brief Namespace for mathematical constants
 * 
 *  waiting for C++20 to finally have them standard-defined
 */
namespace math
{
	constexpr double pi { 3.14159265358979323846 };
	constexpr double e  { 2.71828182845904523536 };
}

namespace phys
{
	constexpr double g  { 9.81 };
}

#endif